package routers

import (
	"net/http"
	"peilian-api/app/controllers/agent_handler"
	"peilian-api/app/controllers/career_handler"
	"peilian-api/app/controllers/conf_handler"
	"peilian-api/app/controllers/conference_handler"
	"peilian-api/app/controllers/data_overview"
	feedback_handle "peilian-api/app/controllers/feedback_handler"
	"peilian-api/app/controllers/image_handler"
	"peilian-api/app/controllers/job_guidline_handler"
	"peilian-api/app/controllers/label_handler"
	"peilian-api/app/controllers/log_callback_handler"
	"peilian-api/app/controllers/online_handler"
	"peilian-api/app/controllers/option_log_handler"
	"peilian-api/app/controllers/pactice_handler"
	"peilian-api/app/controllers/profession_handler"
	"peilian-api/app/controllers/recruit_handler"
	"peilian-api/app/controllers/roles_handler"
	"peilian-api/app/controllers/search_handler"
	"peilian-api/app/controllers/service_handler"
	"peilian-api/app/controllers/tiku_handler"
	"peilian-api/app/controllers/train_handler"
	"peilian-api/app/controllers/user_handler"
	"peilian-api/app/controllers/ws_handler"
	"peilian-api/app/controllers/wx_handler"
	"peilian-api/app/controllers/yz_handler"
	"peilian-api/app/global/middleware"
	"peilian-api/app/global/variable"
	"peilian-api/utils/tools"
	"peilian-api/utils/websocket"

	"github.com/gin-gonic/gin"
)

func InitApiRouter() *gin.Engine {
	gin.SetMode(variable.Config.App.Mode) // 设置版本
	router := gin.Default()

	router.Use(
		middleware.SetLoggerMiddleware(),
		middleware.Recover(),
		middleware.CORSMiddleware(),
	)
	go func() {
		defer tools.RecoverGoroutine()
		websocket.WsManager.Start()
	}()

	router.LoadHTMLGlob("templates/*.html")

	router.StaticFS("/static", http.Dir("static"))

	router.GET("/", func(context *gin.Context) {
		context.String(http.StatusOK, "AMiner")
	})

	router.POST("/test/live_push", ws_handler.LiveTest)

	router.GET("/admin/update/proof", online_handler.ManualOptUserData)
	router.GET("/admin/update/schame", online_handler.ManualOptData)
	router.POST("/send/code", user_handler.SendCode)
	router.POST("/account/login", user_handler.Login)

	// 第三方限制登录和盒子登录
	router.POST("/account/box/login", user_handler.BoxLogin)
	router.POST("/account/third/login", user_handler.ThirdLogin)

	router.GET("/pub/wx/jsapi", wx_handler.GetJsapiSig)                   // 获取jsapi的签名
	router.POST("/pub/token/verify", user_handler.TokenVerify)            // 校验token
	router.POST("/pub/wx/get_phone", wx_handler.GetUserPhoneNumberByCode) // 微信code获取手机号
	router.POST("/log/callback", log_callback_handler.LogCallback)
	router.POST("/admin/account/login", user_handler.AdminLogin)
	router.GET("/practice/session/:sessionId/report", pactice_handler.ReportQuery)
	router.POST("/practice/images/beauty", image_handler.ImageBeauty) // 图片美颜
	// router.POST("/practice/images/beauty", image_handler.ImageBeautyByBinary) // 图片美颜
	router.GET("/job_strategy/groups", job_guidline_handler.GetAvailCareer)
	router.GET("/question/video/profont", conf_handler.GetProfont) // 获取预热视频
	router.GET("/question/video/url", pactice_handler.GetVideoUrl) // 获取聆听视频

	router.GET("/pub/online/code", online_handler.GetCaptcha)         // 生成二维验证码
	router.GET("/pub/school/query", search_handler.SearchMysqlSchool) // 搜索学校

	router.GET("/admin/online/code", online_handler.DynamicCodeHandler) // 获取验证码数字
	router.POST("/admin/account/retrieve", user_handler.Retrieve)       // 找回密码
	// 更新PCM --> M3
	router.GET("/admin/online/option", online_handler.OptionHandler)
	router.GET("/admin/session/report", pactice_handler.ReportCreateNoScore)

	// 小程序无token
	router.GET("/practice/data/online", data_overview.Online)                                   //获取今日在线人数
	router.GET("/practice/eduction/list", conf_handler.GetEductionList)                         // 获取学历信息
	router.GET("/practice/grade/list", conf_handler.GetGradeLise)                               // 获取年级信息
	router.POST("/practice/interview/trail-count-add", pactice_handler.TrailCountAdd)           // 增加面试次数
	router.GET("/practice/interview/copywriting", pactice_handler.GetShareCopywriting)          // 获取
	router.GET("/practice/career/:careerId/experience", job_guidline_handler.GetExperience)     // 面试经验
	router.GET("/practice/career/:careerId/on_campus_job", job_guidline_handler.GetOnCampusJob) // 校招岗位
	router.GET("/practice/session/:sessionId/web-report", pactice_handler.WebReportData)
	//router.POST("/practice/web-report/:reportId/feedback/:feedbackType", web_report.FeedBack)
	router.GET("/weapp/link", online_handler.GetWeAppLinkUrl)

	router.POST("/yz/msg/call", yz_handler.OrderInfoApiCall)
	router.GET("/yz/api/token", yz_handler.YzApiToken)

	router.POST("/practice/send/mail_code_find", user_handler.MailSendCodeFind) // 小程序找回密码
	router.POST("/practice/user/reset_find", user_handler.ResetPwdFind)         // 小程序重置密码
	router.POST("/practice/user/confirm_find", user_handler.ConfirmFind)        // 小程序找回密码-确认验证码
	router.GET("/practice/greeting/get", pactice_handler.GetGreeting)           // 获取问候语

	router.GET("/practice/industry/get", recruit_handler.GetIndustry) // 获取行业地址
	router.GET("/practice/address/get", recruit_handler.GetAddress)   // 获取地址
	router.GET("/practice/recruit/get", recruit_handler.GetRecruit)   // 获取招聘岗位列表

	router.GET("/practice/interview/carousel", pactice_handler.GetShareCarousel) // 轮播图运营区域

	// 管理后台
	admin := router.Group("/").Use(middleware.JWTAuth(), middleware.VerificationUser())
	{
		admin.GET("/admin/career/list", career_handler.List)
		admin.GET("/admin/data/view", data_overview.DataView)             //管理后台数据总览
		admin.GET("/admin/records/view", data_overview.DataView)          //导出面试能力总结 管理员端 type=export 是筛选条件导出能力表格，type=personal_export是导出个人能力表格
		admin.GET("/admin/records/view_detail", data_overview.DataView)   // 能力详情
		admin.POST("/admin/records/export", train_handler.ExportTrainLog) //根据筛选条件导出面试记录表格

		admin.POST("/admin/manager/add", user_handler.AddManage)           // 管理后台新增管理员
		admin.POST("/admin/manager/update", user_handler.UpdateManage)     // 更新
		admin.POST("/admin/manager/delete", user_handler.DeleteByIdManage) // 删除
		admin.GET("/admin/manager/get", user_handler.GetManage)            // 管理员查询
		admin.POST("/admin/account/change", user_handler.UpdatePassword)   // 修改密码
		admin.GET("/admin/user/staf", user_handler.GetStafList)            // 获取人员类型

		admin.POST("/admin/student/add", user_handler.AddStudent)           // 新增学生管理
		admin.POST("/admin/student/update", user_handler.UpdateStudent)     // 修改学生信息
		admin.GET("/admin/student/get", user_handler.GetStudent)            // 查询学生信息
		admin.GET("/admin/student/get_y", user_handler.GetStudentY)         // 查询学生信息
		admin.POST("/admin/student/delete", user_handler.DeleteByIdStudent) // 删除学生信息
		admin.POST("/admin/student/reset_pwd", user_handler.ResetStuPwd)    // 重置学生密码
		admin.POST("/admin/student/import", user_handler.ImportStudent)     // 导入学生信息

		admin.GET("/admin/:uid/reports_detail", pactice_handler.GetReportList) // 面试记录详情
		admin.POST("/admin/records/detail", train_handler.QueryTrainLogDetail) // 查找详细信息
		admin.GET("/admin/records/get", train_handler.GetTrainList)            // 查找面试记录
		admin.POST("/admin/records/delete", train_handler.DeleteTrainLog)      // 删除面试记录

		admin.GET("/admin/config", train_handler.TrainConfig) // 配置

		admin.GET("/admin/config/academy-profession", train_handler.TrainGetAcademy)
		admin.GET("/admin/config/getup", train_handler.GetupConfig)

		admin.GET("/admin/option/getAgent", option_log_handler.GetAgentName)
		admin.GET("/admin/option/s", option_log_handler.GetOptionS)
		admin.GET("/admin/option/log/list", option_log_handler.GetOptionLogList)

		admin.POST("/admin/agent/add", agent_handler.AddAgent)           // 添加客户
		admin.POST("/admin/agent/update", agent_handler.UpdateAgent)     // 修改客户
		admin.POST("/admin/agent/delete", agent_handler.DeleteByIdAgent) // 删除客户
		admin.GET("/admin/agent/list", agent_handler.GetAgentList)       // 查询客户信息
		admin.GET("/admin/agent/get", agent_handler.GetAgentDetail)      // 获取客户详细信息
		admin.GET("/admin/agent/export", agent_handler.ExportInfo)       // 导出客户信息

		admin.GET("/admin/roles/getPagePermission", roles_handler.GetPagePermission) // 获取页面权限
		admin.GET("/admin/roles/getPermissionUri", roles_handler.GetUserPermission)  // 获取用户权限uri
		admin.POST("/admin/roles/add", roles_handler.AddRoles)                       // 添加用户角色信息
		admin.POST("/admin/roles/update", roles_handler.UpdateRoles)                 // 更新用户角色信息
		admin.GET("/admin/roles/get", roles_handler.GetRolesList)                    // 检索用户角色信息
		admin.POST("/admin/roles/delete", roles_handler.DeleteRoles)                 // 删除用户角色信息
		admin.GET("/admin/roles/getDetailById", roles_handler.GetDetailById)         // 获取用户角色详细信息

		admin.POST("/admin/constitute/add", conf_handler.AddConstitute)       // 添加组织信息
		admin.POST("/admin/constitute/update", conf_handler.UpdateConstitute) // 更新组织信息
		admin.POST("/admin/constitute/delete", conf_handler.DeleteConstitute) // 删除组织信息
		admin.GET("/admin/constitute/config", conf_handler.GetConfig)         // 获取组织tab

		admin.GET("/admin/career", career_handler.CustomCareerList)
		admin.GET("/admin/career/:careerId", career_handler.CustomCareerList)
		admin.POST("/admin/career", career_handler.CustomCareerCreate)             // 新增自定义岗位
		admin.PUT("/admin/career/:careerId", career_handler.CustomCareerUpdate)    // 新增自定义岗位
		admin.DELETE("/admin/career/:careerId", career_handler.CustomCareerDelete) // 新增自定义岗位
		admin.PATCH("/admin/career/:careerId", career_handler.CareerQuestionLink)
		admin.GET("/admin/career/:careerId/:question_order_tag", career_handler.CustomCareerGetBindQuestions)
		admin.PUT("/admin/career/:careerId/:question_order_tag", career_handler.CustomCareerChangeBindQuestions)

		admin.POST("/admin/tag", career_handler.TagCreate)
		admin.GET("/admin/tag", career_handler.TagList)
		admin.DELETE("/admin//tag/:tagId", career_handler.TagDelete)

		admin.GET("/admin/tiku", tiku_handler.GetTikuList)                         // 获取题库信息
		admin.GET("/admin/tiku/:id", tiku_handler.GetTikuItem)                     // 获取某一条题目信息
		admin.POST("/admin/tiku", tiku_handler.AddTikuList)                        // 获取题库信息
		admin.PUT("/admin/tiku/:id", tiku_handler.UpdateTikuList)                  // 更新题库信息
		admin.DELETE("/admin/tiku/:id", tiku_handler.DeleteTikuList)               // 删除题库信息
		admin.POST("/admin/tiku/regenerate_video", tiku_handler.ReGegenerateVideo) // 重新生成视频

		// 增删改查职业信息
		admin.GET("/admin/profession", profession_handler.GetProfession)            // 获取专业信息
		admin.POST("/admin/profession", profession_handler.CreateProfession)        // 增加专业信息
		admin.PUT("/admin/profession", profession_handler.UpdateProfession)         // 修改专业信息
		admin.DELETE("/admin/profession", profession_handler.DeleteProfession)      // 删除专业信息
		admin.POST("/admin/profession/import", profession_handler.ImportProfession) // 导入文件
	}
	// 管理后台不需要path校验的接口
	adminPub := router.Group("/").Use(middleware.JWTAuth())
	{
		adminPub.GET("/admin/career/page_list", career_handler.PageList) // 获取分页的列表
	}

	practice := router.Group("/").Use(middleware.JWTAuth(), middleware.ThirdBox())
	{
		practice.POST("/account/logout", user_handler.Logout)

		practice.GET("/question/groups", career_handler.Groups)                                     // 获取问题列表
		practice.GET("/practice/user/notification/topic_new", user_handler.GetNotificationTopicNew) // 获取用户上新题目是否弹窗
		practice.GET("/practice/product/info", yz_handler.YzGetItemList)                            // 商品
		practice.POST("/practice/binding/phone", user_handler.BindingPhone)                         // 小程序绑定手机号
		practice.POST("/practice/binding/sync", user_handler.BindingSync)                           // 小程序绑定手机号
		practice.POST("/practice/binding/mail", user_handler.BindingMail)                           // 小程序绑定邮箱
		practice.POST("/practice/binding/del_mail", user_handler.DelMail)                           // 解绑邮箱
		practice.POST("/practice/send/mail_code", user_handler.MailSendCode)                        // 绑定邮箱获取验证码
		practice.POST("/practice/user/reset", user_handler.ResetPwd)                                // 重置密码
		practice.GET("/practice/interview/trail-count", pactice_handler.GetOnTrailTimes)            // 获取面试次数
		practice.GET("/practice/session/:sessionId/ask", ws_handler.WsClient)                       // 主流程面试websocet
		practice.GET("/practice/special/:sid/ask", ws_handler.SpecialWsClient)                      // 专项面试websocket
		practice.GET("practice/session/:sessionId/recommend", pactice_handler.CareerRecommend)
		practice.POST("/practice/session/:sessionId/report", pactice_handler.ReportCreate)
		practice.POST("/practice/session/:sessionId/shared", pactice_handler.IsSharedCallback)
		practice.POST("/practice/session/:sessionId/sync", pactice_handler.IsSync)
		practice.POST("/practice/user/update", user_handler.UpdateUserInfo)
		practice.GET("/practice/user/info", user_handler.GetCurrentUserInfo) // 获取当前用户的信息
		practice.POST("/user/open", user_handler.OpenCallback)               // 记录用户打开小程序的行为
		practice.GET("/user/:uid/reports", pactice_handler.ReportList)
		practice.POST("/user/feedback/upload", feedback_handle.FeedBackUpload)         // 意见反馈上传图片、视频
		practice.POST("/user/feedback/submit", feedback_handle.FeedBackSubmit)         // 意见反馈提交
		practice.POST("/practice/feedback/evaluate", feedback_handle.FeedBackEvaluate) // 通用评价接口
		practice.POST("/practice/create", pactice_handler.PracticeCreate)
		practice.GET("/practice/interview/timeout", pactice_handler.GetOnTrailTimes)
		// practice.POST("/practice/session/:sessionId/photo", pactice_handler.UploadPhoto)       // 上传照片

		practice.POST("/practice/session/:sessionId/start", pactice_handler.SessionStart) // 开始面试
		//practice.GET("/report/:sessionId/exceed/percent", pactice_handler.ExceedPercent)    // 计算某场面试超过多少竞争者
		practice.POST("/practice/records/detail", train_handler.QueryTrainLogDetail)        // 查找详细信息
		practice.GET("/practice/interview/bd_carousel", pactice_handler.GetShareBdCarousel) // 北大特定轮播图运营区域

		practice.GET("/practice/special/get_tab", career_handler.GetUserSpecialCareerList)     // 专项练习-获取分享tab
		practice.POST("/practice/special/save", career_handler.SaveUserSpecialCareer)          // 专项练习-保存分享tab
		practice.GET("/practice/special/list", pactice_handler.GetSpecialAbilityList)          // 专项练习-题库列表
		practice.GET("/practice/special/trainlog_list", pactice_handler.GetSpecialList)        // 专项练习-用户训练列表
		practice.GET("/practice/special/get_special_topics", pactice_handler.GetSpecialTopics) // 专项练习-获取用户开始训练题目
		practice.GET("/practice/special/detail", pactice_handler.GetSpecialDetail)             // 专项练习-用户训练详情
		practice.GET("/practice/special/detail_score", pactice_handler.GetSpecialDetailScore)  // 专项练习-专项面试得分

		//practice.GET("/practice/session/is_first", pactice_handler.JudgeSessionFirst)  // 本场面试是否为该用户的第一次面试
		practice.POST("/practice/session/satisfied", pactice_handler.SessionSatisfied) // 满意度打分

		practice.GET("/practice/resume/list", pactice_handler.GetOptResumeList)           // 获取优化简历记录列表
		practice.GET("/practice/resume/:id", pactice_handler.GetOptResumeItem)            // 获取某一条优化简历记录
		practice.POST("/practice/resume/add", pactice_handler.AddOptResumeList)           // 创建某一条优化简历记录
		practice.PUT("/practice/resume/:id", pactice_handler.UpdateOptResumeList)         // 更新某一条优化简历记录
		practice.DELETE("/practice/resume/:id", pactice_handler.DeleteOptResume)          // 删除某一条优化简历记录
		practice.GET("/practice/resume/is_viewed/:id", pactice_handler.GetOptResumeState) // 获得某一条优化简历记录是否已经查看
		practice.GET("/practice/resume/is_all_viewed", pactice_handler.CheckIsAllViewed)  // 检查用户是否看了所有简历
		practice.GET("/practice/resume/is_all_opt", pactice_handler.CheckIsAllOpt)        // 检查用户是否有生成中的简历
		practice.POST("/practice/resume/regenerate", pactice_handler.ReGenerateOpt)       // 重新生成优化简历

		practice.GET("/practice/:uid/new_report_click", pactice_handler.NewReportClick) // 新的简历提示关闭接口

	}
	third := router.Group("/third").Use(middleware.AppVerify())
	{
		third.GET("/records/get", train_handler.ThirdTrainLog)
	}

	// 消息回调
	msg := router.Group("/youshi")
	{
		msg.POST("/video/generate_finish", career_handler.GenerateVideoFinish)
		msg.POST("/chat/msg_finish", service_handler.ChatResult) // 大模型结果生成
		//msg.POST("/resume/generate_finish", career_handler.GenerateResumeFinish)
	}

	router.GET("/practice/enterprise/generate", user_handler.AddEnterprise) // 企业对接api，添加企业信息

	router.POST("/admin/label/custom", label_handler.CreateLabel) // 自定义标签信息

	router.POST("/admin/agent/manual_add", online_handler.ManualAddAgentHandler)       // 创建agent 和超级管理员
	router.POST("/admin/user/manual_add", online_handler.ManualAddUsersHandler)        // 插入用户
	router.POST("/admin/agent/manual_update", online_handler.ManualUpdateAgentHandler) // 更新agent 的信息
	router.POST("/admin/agent/token_add", online_handler.ManualAddSchoolTokenHandler)  // 创建agent超级管理员 和 token 登录
	//
	//router.GET("/admin/career/list", career_handler.List)
	//
	//router.GET("/admin/tiku", tiku_handler.GetTikuList)     // 获取题库信息
	//router.GET("/admin/tiku/:id", tiku_handler.GetTikuItem) // 获取某一条题目信息
	//router.POST("/admin/tiku", tiku_handler.AddTikuList)    // 创建问题生成视频
	//
	//router.GET("/admin/career", career_handler.CustomCareerList)               // 获取所有岗位列表
	//router.GET("/admin/career/:careerId", career_handler.CustomCareerList)     //获取岗位的具体信息
	//router.PUT("/admin/career/:careerId", career_handler.CustomCareerUpdate)   //修改岗位信息
	//router.PATCH("/admin/career/:careerId", career_handler.CareerQuestionLink) // 修改问题的题库
	//
	//router.GET("/admin/career/:careerId/:question_order_tag", career_handler.CustomCareerGetBindQuestions)    //获取岗位的第n个问题
	//router.PUT("/admin/career/:careerId/:question_order_tag", career_handler.CustomCareerChangeBindQuestions) // 修改岗位的第N个问题

	//// 有时练习服务api
	rg := router.Group("/v1").Use(middleware.ApiVerify())
	{

		// 讨论主题(职业信息)进行增删改查
		rg.GET("/admin/discussion", career_handler.DiscussionList)
		rg.GET("/admin/discussion/:careerId", career_handler.DiscussionInfo)
		rg.POST("/admin/discussion", career_handler.DiscussionCreate)
		rg.PUT("/admin/discussion/:careerId", career_handler.DiscussionUpdate)
		rg.DELETE("/admin/discussion/:careerId", career_handler.DiscussionDelete)

		rg.GET("/admin/tiku/tag", career_handler.TagList)
		rg.POST("/admin/discussion/tiku", tiku_handler.AddDiscussionTiku) // 创建问题

		// 用户端的接口
		rg.GET("/discussion/list", career_handler.DiscussionList)
		rg.POST("/discussion/create", service_handler.CreateSession)           // 创建讨论相关的所有面试场次
		rg.POST("/discussion/ask_finish", service_handler.AskFinished)         // 单个用户回答完成，进行答案的记录
		rg.POST("/discussion/:sessionId/report", pactice_handler.ReportCreate) // 生成报告，挨个生成
		rg.GET("/discussion/:sessionId/report", pactice_handler.GetReport)     //  获取报告地址

		rg.GET("/discussion/student/get", user_handler.APIGetStudent)  // 查询学生信息
		rg.POST("/discussion/student/verify", user_handler.UserVerify) // 验证学生信息

		rg.GET("/discussion/di_human", career_handler.DiscussionGetDIHuman)     // 获取数字人
		rg.POST("/discussion/di_human", career_handler.DiscussionDIHumanCreate) // 生成数字人

		// 2024-08-15 无领导小组讨论API
		rg.POST("conference/save", conference_handler.SaveConference)                            // 创建会议
		rg.POST("conference/findPage", conference_handler.ListConferencePage)                    // 分页查询列表
		rg.DELETE("conference/:conferenceId", conference_handler.DeleteConferencePage)           // 删除会议记录
		rg.PUT("conference/:conferenceId", conference_handler.CancelConference)                  // 取消会议
		rg.POST("conference/sw/getToken", conference_handler.GetToken)                           // 声网获取token
		rg.POST("conference/sw/startRecordConference", conference_handler.StartRecordConference) // 开始录制
		//rg.POST("conference/sw/stopRecordConference", conference_handler.StopRecordConference)   // 停止录制(测试使用，正式关闭)
		rg.POST("conference/studentReply", conference_handler.StudentReply)               // 学生提交回答结果
		rg.POST("conference/studentFinish", conference_handler.StudentFinish)             // 学生结束面试
		rg.POST("conference/timerProcess", conference_handler.ProcessDataAndCreateReport) // 学生结束面试

		//rg.GET("/session/preheat", service_handler.GetPreheadVideo)                     // 获取预热视频
		//rg.GET("/session/get_interview_question", service_handler.GetInterviewQuestion) // 获取第一道面试题目
		//rg.POST("/session/finish_replay", service_handler.AskFinished)                  // 根据回答判断是转场、追问、结束
		//rg.POST("/session/interview_finish", service_handler.InterviewFinished)         // 面试完成
		//rg.GET("/session/get_report", service_handler.InterviewGetReport)               // 获取面试报告
	}
	//
	//	// 自定义职业面试接口
	//	rg.POST("/question/generate_video", service_handler.GenerateVideo) // 自定义题库，生成视频
	//	rg.GET("/question/video_url", service_handler.GetVideoUrl)         // 自定义题库，获取视频url
	//	rg.POST("/session/custom/create", service_handler.CreateCustomCreate)
	//	rg.POST("/session/custom/finish_replay", service_handler.CustomFinishReplay)       // 自定义题库，回答完毕，提交接口
	//	rg.POST("/session/custom/interview_finish", service_handler.CustimInterviewFinish) // 自定义题库，生成报告
	//	rg.GET("/session/custom/get_report", service_handler.CustomInterviewGetReport)     // 自定义题库，获取报告
	//	// 管理后台的一些接口
	//	rg.GET("/admin/user_records", train_handler.GetTrainList)           // 查找面试记录
	//	rg.GET("/admin/config", train_handler.TrainConfig)                  // 配置
	//	rg.GET("/admin/records/view_detail", data_overview.DataView)        // 能力详情
	//	rg.GET("/admin/:uid/reports_detail", pactice_handler.GetReportList) // 面试记录详情
	//}
	return router
}
